#Install packages
install.packages("haven")
trying URL 'https://cran.rstudio.com/bin/macosx/big-sur-arm64/contrib/4.3/haven_2.5.3.tgz'
Content type 'application/x-gzip' length 1132879 bytes (1.1 MB)
==================================================
downloaded 1.1 MB
The downloaded binary packages are in
/var/folders/8t/cf05ypcs56z1d0qh3cl43l880000gn/T//RtmpgK7aj1/downloaded_packages
#Load packages
library(data.table)
library(tidyr)
library(haven)
#Add data WV6
WV6_data <- load("/Users/laurabazzigher/Documents/GitHub/risk_wvs/data/dataset/WV6_dataset_wave_5_6/WV6_Data_R_v20201117.rdata")
WV6_data <- WV6_Data_R_v20201117
print(WV6_data)
#Name the variables
data6 = WV6_Data_R_v20201117[, c("V1", "V2", "V10", "V23", "V70", "V71","V72","V73", "V74B", "V75", "V76", "V77", "V78", "V79", "V147", "V149","V198", "V199", "V201", "V208","V209", "V210", "V240", "V242", "V248", "V229", "V57", "V58")]
names(data6) = c("v1_wave", "v2_country", "v10_happyness", "v23_satisfaction", "v70_creativity", "v71_money", "v72_security", "v73_goodtime", "v74b_help", "v75_success", "v76_risk", "v77_proper", "v78_environment", "v79_tradition", "v147_religion", "v149_hell", "v198_gov_benefits", "v199_fare_public_transportation", "v201_cheating_taxes", "v208_beating_wife", "v209_beating_children", "v210_violence", "v240_sex", "v242_age", "v248_education", "v229_employed", "v57_married", "v58_children")
#Exlusion of participants which no info about sex, age, education,
employment status, marital status, or number of children
data6 = subset(data6, v76_risk > 0 & v240_sex > 0 & v242_age >0 & v248_education > 0 & v229_employed > 0 & v57_married > 0 & v58_children >= 0)
#New column for variable “creativity”
# Erstellen einer neuen Zeile für die Variable
data6$creativity <- NA
# Zuordnen der Werte
data6$creativity[data6$v70_creativity == 1] <- "Very much like me"
data6$creativity[data6$v70_creativity == 2] <- "Like me"
data6$creativity[data6$v70_creativity == 3] <- "Somewhat like me"
data6$creativity[data6$v70_creativity == 4] <- "A little like me"
data6$creativity[data6$v70_creativity == 5] <- "Not like me"
data6$creativity[data6$v70_creativity == 6] <- "Not at all like me"
#New column for variable “security”
# Erstellen einer neuen Zeile für die Variable
data6$creativity <- NA
# Zuordnen der Werte
data6$security[data6$v72_security == 1] <- "Very much like me"
data6$security[data6$v72_security == 2] <- "Like me"
data6$security[data6$v72_security == 3] <- "Somewhat like me"
data6$security[data6$v72_security == 4] <- "A little like me"
data6$security[data6$v72_security == 5] <- "Not like me"
data6$security[data6$v72_security == 6] <- "Not at all like me"
#New column for variable “goodtime”
# Erstellen einer neuen Zeile für die Variable
data6$goodtime <- NA
# Zuordnen der Werte
data6$goodtime[data6$v73_goodtime == 1] <- "Very much like me"
data6$goodtime[data6$v73_goodtime == 2] <- "Like me"
data6$goodtime[data6$v73_goodtime == 3] <- "Somewhat like me"
data6$goodtime[data6$v73_goodtime == 4] <- "A little like me"
data6$goodtime[data6$v73_goodtime == 5] <- "Not like me"
data6$goodtime[data6$v73_goodtime == 6] <- "Not at all like me"
#New column for variable “money”
# Erstellen einer neuen Zeile für die Variable
data6$money <- NA
# Zuordnen der Werte
data6$money[data6$v70_creativity == 1] <- "Very much like me"
data6$money[data6$v70_creativity == 2] <- "Like me"
data6$money[data6$v70_creativity == 3] <- "Somewhat like me"
data6$money[data6$v70_creativity == 4] <- "A little like me"
data6$money[data6$v70_creativity == 5] <- "Not like me"
data6$money[data6$v70_creativity == 6] <- "Not at all like me"
#New column for variable “help”
# Erstellen einer neuen Zeile für die Variable
data6$help <- NA
# Zuordnen der Werte
data6$help[data6$v74b_help == 1] <- "Very much like me"
data6$help[data6$v74b_help == 2] <- "Like me"
data6$help[data6$v74b_help == 3] <- "Somewhat like me"
data6$help[data6$v74b_help == 4] <- "A little like me"
data6$help[data6$v74b_help == 5] <- "Not like me"
data6$help[data6$v74b_help == 6] <- "Not at all like me"
#New column for variable “success”
# Erstellen einer neuen Zeile für die Variable
data6$success <- NA
# Zuordnen der Werte
data6$success[data6$v75_success == 1] <- "Very much like me"
data6$success[data6$v75_success == 2] <- "Like me"
data6$success[data6$v75_success == 3] <- "Somewhat like me"
data6$success[data6$v75_success == 4] <- "A little like me"
data6$success[data6$v75_success == 5] <- "Not like me"
data6$success[data6$v75_success == 6] <- "Not at all like me"
#New column for variable “risk”
# Erstellen einer neuen Zeile für die Variable
data6$risk <- NA
# Zuordnen der Werte
data6$risk[data6$v76_risk == 1] <- "Very much like me"
data6$risk[data6$v76_risk == 2] <- "Like me"
data6$risk[data6$v76_risk == 3] <- "Somewhat like me"
data6$risk[data6$v76_risk == 4] <- "A little like me"
data6$risk[data6$v76_risk == 5] <- "Not like me"
data6$risk[data6$v76_risk == 6] <- "Not at all like me"
#New column for variable “proper”
# Erstellen einer neuen Zeile für die Variable
data6$proper <- NA
# Zuordnen der Werte
data6$proper[data6$v77_proper == 1] <- "Very much like me"
data6$proper[data6$v77_proper == 2] <- "Like me"
data6$proper[data6$v77_proper == 3] <- "Somewhat like me"
data6$proper[data6$v77_proper == 4] <- "A little like me"
data6$proper[data6$v77_proper == 5] <- "Not like me"
data6$proper[data6$v77_proper == 6] <- "Not at all like me"
#New column for variable “environment”
# Erstellen einer neuen Zeile für die Variable
data6$environment <- NA
# Zuordnen der Werte
data6$environment[data6$v78_environment == 1] <- "Very much like me"
data6$environment[data6$v78_environment == 2] <- "Like me"
data6$environment[data6$v78_environment == 3] <- "Somewhat like me"
data6$environment[data6$v78_environment == 4] <- "A little like me"
data6$environment[data6$v78_environment == 5] <- "Not like me"
data6$environment[data6$v78_environment == 6] <- "Not at all like me"
#New column for variable “tradition”
# Erstellen einer neuen Zeile für die Variable
data6$tradition <- NA
# Zuordnen der Werte
data6$tradition[data6$v79_tradition == 1] <- "Very much like me"
data6$tradition[data6$v79_tradition == 2] <- "Like me"
data6$tradition[data6$v79_tradition == 3] <- "Somewhat like me"
data6$tradition[data6$v79_tradition == 4] <- "A little like me"
data6$tradition[data6$v79_tradition == 5] <- "Not like me"
data6$tradition[data6$v79_tradition == 6] <- "Not at all like me"
#New column for variable “satisfaction”
# Erstellen einer neuen Zeile für die Variable
data6$satisfaction <- NA
# Zuordnen der Werte
data6$satisfaction[data6$v57_married == 1] <- "Very happy"
data6$satisfaction[data6$v10_happyness == 2] <- "Rather happy"
data6$satisfaction[data6$v10_happyness == 3] <- "Not very happy"
data6$satisfaction[data6$v10_happyness == 4] <- "Not at all happy"
#New column for variable “marrital status”
# Erstellen einer neuen Zeile für die Variable "verheiratet"
data6$marital_status <- NA
# Zuordnen der Werte
data6$marital_status[data6$v57_married == 1] <- "Married"
data6$marital_status[data6$v57_married == 2] <- "Living together as married"
data6$marital_status[data6$v57_married == 3] <- "Divorced"
data6$marital_status[data6$v57_married == 4] <- "Separated"
data6$marital_status[data6$v57_married == 5] <- "Widowed"
data6$marital_status[data6$v57_married == 6] <- "Single"
#Categorical age variable (for example, to plot response frequencies
by category)
data6$agecat <- NA # Create an empty column 'agecat'
data6$agecat[data6$v242_age < 20] = "15-19"
data6$agecat[data6$v242_age >= 20 & data6$v242_age < 30] = "20-29"
data6$agecat[data6$v242_age >= 30 & data6$v242_age < 40] = "30-39"
data6$agecat[data6$v242_age >= 40 & data6$v242_age < 50] = "40-49"
data6$agecat[data6$v242_age >= 50 & data6$v242_age < 60] = "50-59"
data6$agecat[data6$v242_age >= 60 & data6$v242_age < 70] = "60-69"
data6$agecat[data6$v242_age >= 70 & data6$v242_age < 80] = "70-79"
data6$agecat[data6$v242_age >= 80] = "80+"
#New column for variable “sex”
# Erstellen einer neuen Zeile für die Variable
data6$sex <- NA
# Zuordnen der Werte
data6$sex[data6$v240_sex == 1] <- "male"
data6$sex[data6$v240_sex == 2] <- "female"
Scatterplot of Age vs. Risk with ggplot
data_df <- data.frame(Age = data6$v242_age, Risk = data6$v76_risk) # Convert data into a data frame.
ggplot(data_df, aes(x = Age, y = Risk)) +
geom_point(color = "blue", size = 1) +
labs(title = "Scatterplot of Age vs. Risk",
x = "Age",
y = "Risk")

Histogramm des Alters
hist(data6$v242_age,
main="Häufigkeitsverteilung des Alters",
xlab="Alter",
ylab="Häufigkeit",
col="blue")

#Number of countries
length(unique(data6$v2_country)) # what is wrong?
[1] 58
#Number of participants
nrow(data6)
[1] 82604
#Range of age
range(data6$v242_age)
[1] 16 99
#Table about gender
table(data6$sex) #is this correct???
female male
43022 39582
LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKI0luc3RhbGwgcGFja2FnZXMgCmBgYHtyfQppbnN0YWxsLnBhY2thZ2VzKCJoYXZlbiIpCmBgYAoKI0xvYWQgcGFja2FnZXMgCmBgYHtyfQpsaWJyYXJ5KGRhdGEudGFibGUpCmxpYnJhcnkodGlkeXIpCmxpYnJhcnkoaGF2ZW4pCmxpYnJhcnkoZ2dwbG90MikKYGBgCgoKI0FkZCBkYXRhIFdWNgpgYGB7cn0KV1Y2X2RhdGEgPC0gbG9hZCgiL1VzZXJzL2xhdXJhYmF6emlnaGVyL0RvY3VtZW50cy9HaXRIdWIvcmlza193dnMvZGF0YS9kYXRhc2V0L1dWNl9kYXRhc2V0X3dhdmVfNV82L1dWNl9EYXRhX1JfdjIwMjAxMTE3LnJkYXRhIikgCldWNl9kYXRhIDwtIFdWNl9EYXRhX1JfdjIwMjAxMTE3IApwcmludChXVjZfZGF0YSkKYGBgCiNOYW1lIHRoZSB2YXJpYWJsZXMgCmBgYHtyfQpkYXRhNiA9IFdWNl9EYXRhX1JfdjIwMjAxMTE3WywgYygiVjEiLCAiVjIiLCAiVjEwIiwgIlYyMyIsICJWNzAiLCAiVjcxIiwiVjcyIiwiVjczIiwgIlY3NEIiLCAiVjc1IiwgIlY3NiIsICJWNzciLCAiVjc4IiwgICJWNzkiLCAiVjE0NyIsICJWMTQ5IiwiVjE5OCIsICJWMTk5IiwgIlYyMDEiLCAiVjIwOCIsIlYyMDkiLCAiVjIxMCIsICJWMjQwIiwgIlYyNDIiLCAiVjI0OCIsICJWMjI5IiwgIlY1NyIsICJWNTgiKV0KCm5hbWVzKGRhdGE2KSA9IGMoInYxX3dhdmUiLCAidjJfY291bnRyeSIsICJ2MTBfaGFwcHluZXNzIiwgInYyM19zYXRpc2ZhY3Rpb24iLCAidjcwX2NyZWF0aXZpdHkiLCAidjcxX21vbmV5IiwgInY3Ml9zZWN1cml0eSIsICJ2NzNfZ29vZHRpbWUiLCAidjc0Yl9oZWxwIiwgInY3NV9zdWNjZXNzIiwgInY3Nl9yaXNrIiwgInY3N19wcm9wZXIiLCAidjc4X2Vudmlyb25tZW50IiwgInY3OV90cmFkaXRpb24iLCAKICAgICAgICAgICAgICAgICAidjE0N19yZWxpZ2lvbiIsICJ2MTQ5X2hlbGwiLCAidjE5OF9nb3ZfYmVuZWZpdHMiLCAidjE5OV9mYXJlX3B1YmxpY190cmFuc3BvcnRhdGlvbiIsICJ2MjAxX2NoZWF0aW5nX3RheGVzIiwgInYyMDhfYmVhdGluZ193aWZlIiwgInYyMDlfYmVhdGluZ19jaGlsZHJlbiIsICJ2MjEwX3Zpb2xlbmNlIiwgInYyNDBfc2V4IiwgInYyNDJfYWdlIiwgInYyNDhfZWR1Y2F0aW9uIiwgInYyMjlfZW1wbG95ZWQiLCAidjU3X21hcnJpZWQiLCAidjU4X2NoaWxkcmVuIikKYGBgCgoKI0V4bHVzaW9uIG9mIHBhcnRpY2lwYW50cyB3aGljaCBubyBpbmZvIGFib3V0IHNleCwgYWdlLCBlZHVjYXRpb24sIGVtcGxveW1lbnQgc3RhdHVzLCBtYXJpdGFsIHN0YXR1cywgb3IgbnVtYmVyIG9mIGNoaWxkcmVuCmBgYHtyfQpkYXRhNiA9IHN1YnNldChkYXRhNiwgdjc2X3Jpc2sgPiAwICYgdjI0MF9zZXggPiAwICYgdjI0Ml9hZ2UgPjAgJiB2MjQ4X2VkdWNhdGlvbiA+IDAgJiB2MjI5X2VtcGxveWVkID4gMCAmIHY1N19tYXJyaWVkID4gMCAmIHY1OF9jaGlsZHJlbiA+PSAwKQpgYGAKCgojTmV3IGNvbHVtbiBmb3IgdmFyaWFibGUgImNyZWF0aXZpdHkiCgpgYGB7cn0KIyBFcnN0ZWxsZW4gZWluZXIgbmV1ZW4gWmVpbGUgZsO8ciBkaWUgVmFyaWFibGUgCmRhdGE2JGNyZWF0aXZpdHkgPC0gTkEKCiMgWnVvcmRuZW4gZGVyIFdlcnRlCmRhdGE2JGNyZWF0aXZpdHlbZGF0YTYkdjcwX2NyZWF0aXZpdHkgPT0gMV0gPC0gIlZlcnkgbXVjaCBsaWtlIG1lIgpkYXRhNiRjcmVhdGl2aXR5W2RhdGE2JHY3MF9jcmVhdGl2aXR5ID09IDJdIDwtICJMaWtlIG1lIgpkYXRhNiRjcmVhdGl2aXR5W2RhdGE2JHY3MF9jcmVhdGl2aXR5ID09IDNdIDwtICJTb21ld2hhdCBsaWtlIG1lIgpkYXRhNiRjcmVhdGl2aXR5W2RhdGE2JHY3MF9jcmVhdGl2aXR5ID09IDRdIDwtICJBIGxpdHRsZSBsaWtlIG1lIgpkYXRhNiRjcmVhdGl2aXR5W2RhdGE2JHY3MF9jcmVhdGl2aXR5ID09IDVdIDwtICJOb3QgbGlrZSBtZSIKZGF0YTYkY3JlYXRpdml0eVtkYXRhNiR2NzBfY3JlYXRpdml0eSA9PSA2XSA8LSAiTm90IGF0IGFsbCBsaWtlIG1lIgpgYGAKCiNOZXcgY29sdW1uIGZvciB2YXJpYWJsZSAic2VjdXJpdHkiCgpgYGB7cn0KIyBFcnN0ZWxsZW4gZWluZXIgbmV1ZW4gWmVpbGUgZsO8ciBkaWUgVmFyaWFibGUgCmRhdGE2JGNyZWF0aXZpdHkgPC0gTkEKCiMgWnVvcmRuZW4gZGVyIFdlcnRlCmRhdGE2JHNlY3VyaXR5W2RhdGE2JHY3Ml9zZWN1cml0eSA9PSAxXSA8LSAiVmVyeSBtdWNoIGxpa2UgbWUiCmRhdGE2JHNlY3VyaXR5W2RhdGE2JHY3Ml9zZWN1cml0eSA9PSAyXSA8LSAiTGlrZSBtZSIKZGF0YTYkc2VjdXJpdHlbZGF0YTYkdjcyX3NlY3VyaXR5ID09IDNdIDwtICJTb21ld2hhdCBsaWtlIG1lIgpkYXRhNiRzZWN1cml0eVtkYXRhNiR2NzJfc2VjdXJpdHkgPT0gNF0gPC0gIkEgbGl0dGxlIGxpa2UgbWUiCmRhdGE2JHNlY3VyaXR5W2RhdGE2JHY3Ml9zZWN1cml0eSA9PSA1XSA8LSAiTm90IGxpa2UgbWUiCmRhdGE2JHNlY3VyaXR5W2RhdGE2JHY3Ml9zZWN1cml0eSA9PSA2XSA8LSAiTm90IGF0IGFsbCBsaWtlIG1lIgpgYGAKCiNOZXcgY29sdW1uIGZvciB2YXJpYWJsZSAiZ29vZHRpbWUiCgpgYGB7cn0KIyBFcnN0ZWxsZW4gZWluZXIgbmV1ZW4gWmVpbGUgZsO8ciBkaWUgVmFyaWFibGUgCmRhdGE2JGdvb2R0aW1lIDwtIE5BCgojIFp1b3JkbmVuIGRlciBXZXJ0ZQpkYXRhNiRnb29kdGltZVtkYXRhNiR2NzNfZ29vZHRpbWUgPT0gMV0gPC0gIlZlcnkgbXVjaCBsaWtlIG1lIgpkYXRhNiRnb29kdGltZVtkYXRhNiR2NzNfZ29vZHRpbWUgPT0gMl0gPC0gIkxpa2UgbWUiCmRhdGE2JGdvb2R0aW1lW2RhdGE2JHY3M19nb29kdGltZSA9PSAzXSA8LSAiU29tZXdoYXQgbGlrZSBtZSIKZGF0YTYkZ29vZHRpbWVbZGF0YTYkdjczX2dvb2R0aW1lID09IDRdIDwtICJBIGxpdHRsZSBsaWtlIG1lIgpkYXRhNiRnb29kdGltZVtkYXRhNiR2NzNfZ29vZHRpbWUgPT0gNV0gPC0gIk5vdCBsaWtlIG1lIgpkYXRhNiRnb29kdGltZVtkYXRhNiR2NzNfZ29vZHRpbWUgPT0gNl0gPC0gIk5vdCBhdCBhbGwgbGlrZSBtZSIKYGBgCgojTmV3IGNvbHVtbiBmb3IgdmFyaWFibGUgIm1vbmV5IgoKYGBge3J9CiMgRXJzdGVsbGVuIGVpbmVyIG5ldWVuIFplaWxlIGbDvHIgZGllIFZhcmlhYmxlIApkYXRhNiRtb25leSA8LSBOQQoKIyBadW9yZG5lbiBkZXIgV2VydGUKZGF0YTYkbW9uZXlbZGF0YTYkdjcwX2NyZWF0aXZpdHkgPT0gMV0gPC0gIlZlcnkgbXVjaCBsaWtlIG1lIgpkYXRhNiRtb25leVtkYXRhNiR2NzBfY3JlYXRpdml0eSA9PSAyXSA8LSAiTGlrZSBtZSIKZGF0YTYkbW9uZXlbZGF0YTYkdjcwX2NyZWF0aXZpdHkgPT0gM10gPC0gIlNvbWV3aGF0IGxpa2UgbWUiCmRhdGE2JG1vbmV5W2RhdGE2JHY3MF9jcmVhdGl2aXR5ID09IDRdIDwtICJBIGxpdHRsZSBsaWtlIG1lIgpkYXRhNiRtb25leVtkYXRhNiR2NzBfY3JlYXRpdml0eSA9PSA1XSA8LSAiTm90IGxpa2UgbWUiCmRhdGE2JG1vbmV5W2RhdGE2JHY3MF9jcmVhdGl2aXR5ID09IDZdIDwtICJOb3QgYXQgYWxsIGxpa2UgbWUiCmBgYAoKI05ldyBjb2x1bW4gZm9yIHZhcmlhYmxlICJoZWxwIgoKYGBge3J9CiMgRXJzdGVsbGVuIGVpbmVyIG5ldWVuIFplaWxlIGbDvHIgZGllIFZhcmlhYmxlIApkYXRhNiRoZWxwIDwtIE5BCgojIFp1b3JkbmVuIGRlciBXZXJ0ZQpkYXRhNiRoZWxwW2RhdGE2JHY3NGJfaGVscCA9PSAxXSA8LSAiVmVyeSBtdWNoIGxpa2UgbWUiCmRhdGE2JGhlbHBbZGF0YTYkdjc0Yl9oZWxwID09IDJdIDwtICJMaWtlIG1lIgpkYXRhNiRoZWxwW2RhdGE2JHY3NGJfaGVscCA9PSAzXSA8LSAiU29tZXdoYXQgbGlrZSBtZSIKZGF0YTYkaGVscFtkYXRhNiR2NzRiX2hlbHAgPT0gNF0gPC0gIkEgbGl0dGxlIGxpa2UgbWUiCmRhdGE2JGhlbHBbZGF0YTYkdjc0Yl9oZWxwID09IDVdIDwtICJOb3QgbGlrZSBtZSIKZGF0YTYkaGVscFtkYXRhNiR2NzRiX2hlbHAgPT0gNl0gPC0gIk5vdCBhdCBhbGwgbGlrZSBtZSIKYGBgCgojTmV3IGNvbHVtbiBmb3IgdmFyaWFibGUgInN1Y2Nlc3MiCgpgYGB7cn0KIyBFcnN0ZWxsZW4gZWluZXIgbmV1ZW4gWmVpbGUgZsO8ciBkaWUgVmFyaWFibGUgCmRhdGE2JHN1Y2Nlc3MgPC0gTkEKCiMgWnVvcmRuZW4gZGVyIFdlcnRlCmRhdGE2JHN1Y2Nlc3NbZGF0YTYkdjc1X3N1Y2Nlc3MgPT0gMV0gPC0gIlZlcnkgbXVjaCBsaWtlIG1lIgpkYXRhNiRzdWNjZXNzW2RhdGE2JHY3NV9zdWNjZXNzID09IDJdIDwtICJMaWtlIG1lIgpkYXRhNiRzdWNjZXNzW2RhdGE2JHY3NV9zdWNjZXNzID09IDNdIDwtICJTb21ld2hhdCBsaWtlIG1lIgpkYXRhNiRzdWNjZXNzW2RhdGE2JHY3NV9zdWNjZXNzID09IDRdIDwtICJBIGxpdHRsZSBsaWtlIG1lIgpkYXRhNiRzdWNjZXNzW2RhdGE2JHY3NV9zdWNjZXNzID09IDVdIDwtICJOb3QgbGlrZSBtZSIKZGF0YTYkc3VjY2Vzc1tkYXRhNiR2NzVfc3VjY2VzcyA9PSA2XSA8LSAiTm90IGF0IGFsbCBsaWtlIG1lIgpgYGAKCgojTmV3IGNvbHVtbiBmb3IgdmFyaWFibGUgInJpc2siCgpgYGB7cn0KIyBFcnN0ZWxsZW4gZWluZXIgbmV1ZW4gWmVpbGUgZsO8ciBkaWUgVmFyaWFibGUgCmRhdGE2JHJpc2sgPC0gTkEKCiMgWnVvcmRuZW4gZGVyIFdlcnRlCmRhdGE2JHJpc2tbZGF0YTYkdjc2X3Jpc2sgPT0gMV0gPC0gIlZlcnkgbXVjaCBsaWtlIG1lIgpkYXRhNiRyaXNrW2RhdGE2JHY3Nl9yaXNrID09IDJdIDwtICJMaWtlIG1lIgpkYXRhNiRyaXNrW2RhdGE2JHY3Nl9yaXNrID09IDNdIDwtICJTb21ld2hhdCBsaWtlIG1lIgpkYXRhNiRyaXNrW2RhdGE2JHY3Nl9yaXNrID09IDRdIDwtICJBIGxpdHRsZSBsaWtlIG1lIgpkYXRhNiRyaXNrW2RhdGE2JHY3Nl9yaXNrID09IDVdIDwtICJOb3QgbGlrZSBtZSIKZGF0YTYkcmlza1tkYXRhNiR2NzZfcmlzayA9PSA2XSA8LSAiTm90IGF0IGFsbCBsaWtlIG1lIgpgYGAKCiNOZXcgY29sdW1uIGZvciB2YXJpYWJsZSAicHJvcGVyIgoKYGBge3J9CiMgRXJzdGVsbGVuIGVpbmVyIG5ldWVuIFplaWxlIGbDvHIgZGllIFZhcmlhYmxlIApkYXRhNiRwcm9wZXIgPC0gTkEKCiMgWnVvcmRuZW4gZGVyIFdlcnRlCmRhdGE2JHByb3BlcltkYXRhNiR2NzdfcHJvcGVyID09IDFdIDwtICJWZXJ5IG11Y2ggbGlrZSBtZSIKZGF0YTYkcHJvcGVyW2RhdGE2JHY3N19wcm9wZXIgPT0gMl0gPC0gIkxpa2UgbWUiCmRhdGE2JHByb3BlcltkYXRhNiR2NzdfcHJvcGVyID09IDNdIDwtICJTb21ld2hhdCBsaWtlIG1lIgpkYXRhNiRwcm9wZXJbZGF0YTYkdjc3X3Byb3BlciA9PSA0XSA8LSAiQSBsaXR0bGUgbGlrZSBtZSIKZGF0YTYkcHJvcGVyW2RhdGE2JHY3N19wcm9wZXIgPT0gNV0gPC0gIk5vdCBsaWtlIG1lIgpkYXRhNiRwcm9wZXJbZGF0YTYkdjc3X3Byb3BlciA9PSA2XSA8LSAiTm90IGF0IGFsbCBsaWtlIG1lIgpgYGAKCiNOZXcgY29sdW1uIGZvciB2YXJpYWJsZSAiZW52aXJvbm1lbnQiCgpgYGB7cn0KIyBFcnN0ZWxsZW4gZWluZXIgbmV1ZW4gWmVpbGUgZsO8ciBkaWUgVmFyaWFibGUgCmRhdGE2JGVudmlyb25tZW50IDwtIE5BCgojIFp1b3JkbmVuIGRlciBXZXJ0ZQpkYXRhNiRlbnZpcm9ubWVudFtkYXRhNiR2NzhfZW52aXJvbm1lbnQgPT0gMV0gPC0gIlZlcnkgbXVjaCBsaWtlIG1lIgpkYXRhNiRlbnZpcm9ubWVudFtkYXRhNiR2NzhfZW52aXJvbm1lbnQgPT0gMl0gPC0gIkxpa2UgbWUiCmRhdGE2JGVudmlyb25tZW50W2RhdGE2JHY3OF9lbnZpcm9ubWVudCA9PSAzXSA8LSAiU29tZXdoYXQgbGlrZSBtZSIKZGF0YTYkZW52aXJvbm1lbnRbZGF0YTYkdjc4X2Vudmlyb25tZW50ID09IDRdIDwtICJBIGxpdHRsZSBsaWtlIG1lIgpkYXRhNiRlbnZpcm9ubWVudFtkYXRhNiR2NzhfZW52aXJvbm1lbnQgPT0gNV0gPC0gIk5vdCBsaWtlIG1lIgpkYXRhNiRlbnZpcm9ubWVudFtkYXRhNiR2NzhfZW52aXJvbm1lbnQgPT0gNl0gPC0gIk5vdCBhdCBhbGwgbGlrZSBtZSIKYGBgCgoKI05ldyBjb2x1bW4gZm9yIHZhcmlhYmxlICJ0cmFkaXRpb24iCgpgYGB7cn0KIyBFcnN0ZWxsZW4gZWluZXIgbmV1ZW4gWmVpbGUgZsO8ciBkaWUgVmFyaWFibGUgCmRhdGE2JHRyYWRpdGlvbiA8LSBOQQoKIyBadW9yZG5lbiBkZXIgV2VydGUKZGF0YTYkdHJhZGl0aW9uW2RhdGE2JHY3OV90cmFkaXRpb24gPT0gMV0gPC0gIlZlcnkgbXVjaCBsaWtlIG1lIgpkYXRhNiR0cmFkaXRpb25bZGF0YTYkdjc5X3RyYWRpdGlvbiA9PSAyXSA8LSAiTGlrZSBtZSIKZGF0YTYkdHJhZGl0aW9uW2RhdGE2JHY3OV90cmFkaXRpb24gPT0gM10gPC0gIlNvbWV3aGF0IGxpa2UgbWUiCmRhdGE2JHRyYWRpdGlvbltkYXRhNiR2NzlfdHJhZGl0aW9uID09IDRdIDwtICJBIGxpdHRsZSBsaWtlIG1lIgpkYXRhNiR0cmFkaXRpb25bZGF0YTYkdjc5X3RyYWRpdGlvbiA9PSA1XSA8LSAiTm90IGxpa2UgbWUiCmRhdGE2JHRyYWRpdGlvbltkYXRhNiR2NzlfdHJhZGl0aW9uID09IDZdIDwtICJOb3QgYXQgYWxsIGxpa2UgbWUiCmBgYAoKI05ldyBjb2x1bW4gZm9yIHZhcmlhYmxlICJzYXRpc2ZhY3Rpb24iCgpgYGB7cn0KIyBFcnN0ZWxsZW4gZWluZXIgbmV1ZW4gWmVpbGUgZsO8ciBkaWUgVmFyaWFibGUgCmRhdGE2JHNhdGlzZmFjdGlvbiA8LSBOQQoKIyBadW9yZG5lbiBkZXIgV2VydGUKZGF0YTYkc2F0aXNmYWN0aW9uW2RhdGE2JHY1N19tYXJyaWVkID09IDFdIDwtICJWZXJ5IGhhcHB5IgpkYXRhNiRzYXRpc2ZhY3Rpb25bZGF0YTYkdjEwX2hhcHB5bmVzcyA9PSAyXSA8LSAiUmF0aGVyIGhhcHB5IgpkYXRhNiRzYXRpc2ZhY3Rpb25bZGF0YTYkdjEwX2hhcHB5bmVzcyA9PSAzXSA8LSAiTm90IHZlcnkgaGFwcHkiCmRhdGE2JHNhdGlzZmFjdGlvbltkYXRhNiR2MTBfaGFwcHluZXNzID09IDRdIDwtICJOb3QgYXQgYWxsIGhhcHB5IgpgYGAKCiNOZXcgY29sdW1uIGZvciB2YXJpYWJsZSAibWFycml0YWwgc3RhdHVzIgoKYGBge3J9CiMgRXJzdGVsbGVuIGVpbmVyIG5ldWVuIFplaWxlIGbDvHIgZGllIFZhcmlhYmxlIApkYXRhNiRtYXJpdGFsX3N0YXR1cyA8LSBOQQoKIyBadW9yZG5lbiBkZXIgV2VydGUKZGF0YTYkbWFyaXRhbF9zdGF0dXNbZGF0YTYkdjU3X21hcnJpZWQgPT0gMV0gPC0gIk1hcnJpZWQiCmRhdGE2JG1hcml0YWxfc3RhdHVzW2RhdGE2JHY1N19tYXJyaWVkID09IDJdIDwtICJMaXZpbmcgdG9nZXRoZXIgYXMgbWFycmllZCIKZGF0YTYkbWFyaXRhbF9zdGF0dXNbZGF0YTYkdjU3X21hcnJpZWQgPT0gM10gPC0gIkRpdm9yY2VkIgpkYXRhNiRtYXJpdGFsX3N0YXR1c1tkYXRhNiR2NTdfbWFycmllZCA9PSA0XSA8LSAiU2VwYXJhdGVkIgpkYXRhNiRtYXJpdGFsX3N0YXR1c1tkYXRhNiR2NTdfbWFycmllZCA9PSA1XSA8LSAiV2lkb3dlZCIKZGF0YTYkbWFyaXRhbF9zdGF0dXNbZGF0YTYkdjU3X21hcnJpZWQgPT0gNl0gPC0gIlNpbmdsZSIKYGBgCgoKI0NhdGVnb3JpY2FsIGFnZSB2YXJpYWJsZSAoZm9yIGV4YW1wbGUsIHRvIHBsb3QgcmVzcG9uc2UgZnJlcXVlbmNpZXMgYnkgY2F0ZWdvcnkpCmBgYHtyfQpkYXRhNiRhZ2VjYXQgPC0gTkEgICMgQ3JlYXRlIGFuIGVtcHR5IGNvbHVtbiAnYWdlY2F0JwoKZGF0YTYkYWdlY2F0W2RhdGE2JHYyNDJfYWdlIDwgMjBdID0gIjE1LTE5IgpkYXRhNiRhZ2VjYXRbZGF0YTYkdjI0Ml9hZ2UgPj0gMjAgJiBkYXRhNiR2MjQyX2FnZSA8IDMwXSA9ICIyMC0yOSIKZGF0YTYkYWdlY2F0W2RhdGE2JHYyNDJfYWdlID49IDMwICYgZGF0YTYkdjI0Ml9hZ2UgPCA0MF0gPSAiMzAtMzkiCmRhdGE2JGFnZWNhdFtkYXRhNiR2MjQyX2FnZSA+PSA0MCAmIGRhdGE2JHYyNDJfYWdlIDwgNTBdID0gIjQwLTQ5IgpkYXRhNiRhZ2VjYXRbZGF0YTYkdjI0Ml9hZ2UgPj0gNTAgJiBkYXRhNiR2MjQyX2FnZSA8IDYwXSA9ICI1MC01OSIKZGF0YTYkYWdlY2F0W2RhdGE2JHYyNDJfYWdlID49IDYwICYgZGF0YTYkdjI0Ml9hZ2UgPCA3MF0gPSAiNjAtNjkiCmRhdGE2JGFnZWNhdFtkYXRhNiR2MjQyX2FnZSA+PSA3MCAmIGRhdGE2JHYyNDJfYWdlIDwgODBdID0gIjcwLTc5IgpkYXRhNiRhZ2VjYXRbZGF0YTYkdjI0Ml9hZ2UgPj0gODBdID0gIjgwKyIKYGBgCgojTmV3IGNvbHVtbiBmb3IgdmFyaWFibGUgInNleCIKCmBgYHtyfQojIEVyc3RlbGxlbiBlaW5lciBuZXVlbiBaZWlsZSBmw7xyIGRpZSBWYXJpYWJsZSAKZGF0YTYkc2V4IDwtIE5BCgojIFp1b3JkbmVuIGRlciBXZXJ0ZQpkYXRhNiRzZXhbZGF0YTYkdjI0MF9zZXggPT0gMV0gPC0gIm1hbGUiCmRhdGE2JHNleFtkYXRhNiR2MjQwX3NleCA9PSAyXSA8LSAiZmVtYWxlIgpgYGAKCgojIFNjYXR0ZXJwbG90IG9mIEFnZSB2cy4gUmlzayB3aXRoIGdncGxvdApgYGB7cn0KZGF0YV9kZiA8LSBkYXRhLmZyYW1lKEFnZSA9IGRhdGE2JHYyNDJfYWdlLCBSaXNrID0gZGF0YTYkdjc2X3Jpc2spICMgQ29udmVydCBkYXRhIGludG8gYSBkYXRhIGZyYW1lLgoKZ2dwbG90KGRhdGFfZGYsIGFlcyh4ID0gQWdlLCB5ID0gUmlzaykpICsKICBnZW9tX3BvaW50KGNvbG9yID0gImJsdWUiLCBzaXplID0gMSkgKwogIGxhYnModGl0bGUgPSAiU2NhdHRlcnBsb3Qgb2YgQWdlIHZzLiBSaXNrIiwKICAgICAgIHggPSAiQWdlIiwKICAgICAgIHkgPSAiUmlzayIpCmBgYAoKIyBIaXN0b2dyYW1tIGRlcyBBbHRlcnMKYGBge3J9Cmhpc3QoZGF0YTYkdjI0Ml9hZ2UsIAogICAgIG1haW49IkjDpHVmaWdrZWl0c3ZlcnRlaWx1bmcgZGVzIEFsdGVycyIsCiAgICAgeGxhYj0iQWx0ZXIiLAogICAgIHlsYWI9IkjDpHVmaWdrZWl0IiwKICAgICBjb2w9ImJsdWUiKQpgYGAKCgojTnVtYmVyIG9mIGNvdW50cmllcwpgYGB7cn0KbGVuZ3RoKHVuaXF1ZShkYXRhNiR2Ml9jb3VudHJ5KSkgCmBgYAoKI051bWJlciBvZiBwYXJ0aWNpcGFudHMKYGBge3J9Cm5yb3coZGF0YTYpIApgYGAKCiNSYW5nZSBvZiBhZ2UKYGBge3J9CnJhbmdlKGRhdGE2JHYyNDJfYWdlKSAKYGBgCgojVGFibGUgYWJvdXQgZ2VuZGVyCmBgYHtyfQp0YWJsZShkYXRhNiRzZXgpCmBgYAoKCgoKCgoKCgoKCgoKCgo=